package Text1;
import java.util.Scanner;
public class Main {
//    实现一个单链表，链表初始为空，支持三种操作：
//    1.向链表头插入一个数；
//    2.删除第 k个插入的数后面的数；
//    3.在第 k个插入的数后插入一个数。

    static int[] e ;
    static int[] ne;
    static int idx,head;
    public static void init(){
        e = new int[100010];
        ne = new int[100010];
        idx=0;
        head=-1;
    }

    //H向链表头插入一个数x；
    public static void add_head(int x){
        e[idx]=x;
        ne[idx]=head;
        head=idx;
        idx++;
    }
    //I在第k位数后面插入一个数x
    public static void add(int k,int x){
        e[idx]=x;
        ne[idx]=ne[k-1];
        ne[k-1]=idx;
        idx++;
    }
    //D删除第k个数后面得数
    public static void remove(int k){
       if(k==0){
           head=ne[head];
       }else{
           ne[k-1]=ne[ne[k-1]];
       }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        init();
        while(m-->0){
            String s = scanner.next();
            if(s.equals("H")){
                int x = scanner.nextInt();
                add_head(x);
            }else if(s.equals("D")){
                int k = scanner.nextInt();
                 remove(k);
            }else {
                int k = scanner.nextInt();
                int x = scanner.nextInt();
                add(k,x);
            }
        }
        for (int i = head; i!=-1 ; i=ne[i]) {
            System.out.print(e[i]+" ");
        }
    }
}
